9468
21109
Zárva. Ez a kérdés nem felel meg a verem túlcsordulás irányelveinek. Jelenleg nem fogadja el a válaszokat.
Szeretne javítani ezen a kérdésen? Frissítse a kérdést, hogy a Stack Overflow témakörében szerepeljen.
4 éve zárva.
Javítsa ezt a kérdést
Fényes alkalmazást építek, amely a felhasználó által kiválasztott több szövegfájlt feldolgozza.
A kimenet hatalmas adatkeret, több millió sorral és több tíz oszloppal.
Most arra vagyok kíváncsi, hogy a felhasználó interaktívan szűrhesse-e a sorokat, oszlopokat válasszon és oszlopokat összesítsen (olyan funkciók listájából választva, mint például átlag, sd, max, min, összeg stb ...). Az eredmény egy kisebb adatkeret lenne, amely összefoglalná az adatokat a felhasználói választások szerint - alapvetően létre kell hoznom egy GUI-t, amely megvalósítja a dplyr könyvtár alapvető funkcióit.
Általában tudom, hogyan kell ezt csinálni úgy, hogy kézzel létrehozok egy csomó GUI-elemet, és számos dplyr paranccsal betáplálom őket egy szerverfunkcióba. Mivel úgy tűnik, hogy ez egy meglehetősen szokásos funkció (GUI, amely kiszűr és összefoglal egy adatkeretet), mielőtt elkezdeném a semmiből felépíteni, kíváncsi vagyok, hogy van-e valami "polcon kívül", használhatom úgy, ahogy van, vagy kiindulópontként . 
Tudom, hogy azt mondtad, hogy az rpivotTable nem teljesen az, amire vágysz, de úgy gondolom, hogy konfigurálható a nehéz emelések egy részének elvégzésére,
Íme egy példa (az rpivotTable használatával a manipulációhoz, a DT az data.frame megjelenítéséhez, a rvest a belső HTML elemzéséhez a DOM-ból, lehet, hogy jobb adatformátum van a táblaobjektum kliens oldalról történő továbbítására, de ez a koncepció bizonyítéka ):
ui.R
könyvtár (fényes)
könyvtár (DT)
könyvtár (rpivotTable)
FullPage <- fluidPage (
DT :: dataTableOutput ('aSummaryTable'),
rpivotTableOutput ('EREDMÉNYEK')
)
Teljes oldal
server.R:
könyvtár (fényes)
könyvtár (rpivotTable)
könyvtár (DT)
könyvtár (rvest)
függvény (input, output, session) {
# Készítsen néhány minta adatot
qbdata <- reaktív ({
expand.grid (LETTERS, 1: 3)
})
# Tisztítsa meg a HTML-t, és tárolja reaktívként
summarydf <- eventReactive (input $ myData, {
input $ myData%>%
read_html%>%
html_table (kitöltés = IGAZ)%>%
# Kiderült, hogy két táblázat van egy rpivotTable-ben, a másodikat szeretnénk
. [[2]]
})
# show df mint DT :: datatable
output $ aSummaryTable <- DT :: renderDataTable ({
datatable (summarydf (), helynevek = FALSE)
})
# Amikor a konfiguráció frissül, hívja vissza a táblázat tartalmát
output $ RESULTS <- renderRpivotTable ({
rpivotTable (
qbdata (),
onRefresh =
htmlwidgets :: JS ("function (config) {
Shiny.onInputChange ('myData', document.getElementById ('EREDMÉNYEK'.. BelsőHTML);
} ")
)
})
}
|
Nem a keresett válasz? Tallózzon a r dplyr shiny címkével ellátott többi kérdésben, vagy tegye fel saját kérdését.